import request from '@/utils/request'

// 获取用户列表
export function getUserList(params) {
  return request({
    url: '/users',
    method: 'get',
    params
  })
}

// 获取用户详情
export function getUserDetail(userId) {
  return request({
    url: `/users/${userId}`,
    method: 'get'
  })
}

// 获取用户角色信息
export function getUserRoles(userId) {
  return request({
    url: `/users/${userId}/roles`,
    method: 'get'
  })
}

// 获取用户头像信息
export function getUserAvatarInfo(userId) {
  return request({
    url: `/users/${userId}/avatar-info`,
    method: 'get'
  })
}

// 新增用户
export function addUser(data) {
  return request({
    url: '/users',
    method: 'post',
    data
  })
}

// 编辑用户
export function updateUser(userId, data) {
  return request({
    url: `/users/${userId}`,
    method: 'put',
    data
  })
}

// 删除用户（软删除）
export function deleteUser(userId) {
  return request({
    url: `/users/${userId}`,
    method: 'delete'
  })
}

// 修改密码
export function changePassword(userId, data) {
  return request({
    url: `/users/${userId}/change-password`,
    method: 'post',
    data
  })
}

// 启用用户
export function enableUser(userId) {
  return request({
    url: `/users/${userId}/enable`,
    method: 'post'
  })
}

// 禁用用户
export function disableUser(userId) {
  return request({
    url: `/users/${userId}/disable`,
    method: 'post'
  })
}

// 分配角色
export function assignRoles(userId, roleIds) {
  return request({
    url: `/users/${userId}/roles`,
    method: 'post',
    data: { roleIds }
  })
}

// 获取所有角色（用于角色分配）
export function getAllRoles() {
  return request({
    url: '/roles',
    method: 'get'
  })
}

// 分配用户角色
export function assignUserRoles(userId, roleIds) {
  return request({
    url: `/users/${userId}/roles`,
    method: 'post',
    data: { roleIds }
  })
}

// 上传用户头像
export function uploadAvatar(userId, file) {
  console.log(file);
  
  const formData = new FormData()
  formData.append('file', file)
  console.log(formData);
  
  return request({
    url: `/users/${userId}/avatar`,
    method: 'post',
    data: formData,
    headers: { 'Content-Type': 'multipart/form-data' }
  })
}

//获取头像

export let getAv